/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package trabajo.uno;

import java.util.ArrayList;
import java.util.Scanner;
import java.util.logging.Level;
import java.util.logging.Logger;
import trabajo.util.Archivo;

/**
 *
 * @author Max
 */
public class Uno {

    private Scanner scan = new Scanner(System.in);

    public void holaMundo() {
        Archivo ar = new Archivo("E:\\HolaMundo.txt");
        ArrayList<String> lista = ar.leer();

        try {
            ar.escribir("HolaMundo...");
        } catch (Exception ex) {
            Logger.getLogger(Uno.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void sumando() {
        try {
            String ruta = "E:\\Sumando.txt";
            System.out.println("Sumando 2 números");
            System.out.println("---------------------");
            System.out.print("Ingrese un número: ");
            int num1 = scan.nextInt();
            System.out.print("Ingrese otro número: ");
            int num2 = scan.nextInt();
            System.out.println("----------------------");
            int total = num1 + num2;
            System.out.println("Resultado: " + total);
            System.out.println("-----------------------");
            System.out.println("Monstrando LOG de Suma");
            Archivo archivo = new Archivo(ruta);
            archivo.escribir("* " + num1 + " + " + num2 + " = " + total);
            ArrayList<String> listado = archivo.leer();
            for (int i = 0; i < listado.size(); i++) {
                System.out.println(listado.get(i));
            }
        } catch (Exception ex) {
            Logger.getLogger(Uno.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void multiplicando() {
        try {
            String ruta = "E:\\Multiplicando.txt";
            System.out.println("Multiplicando 2 números");
            System.out.println("------------------------");
            System.out.print("Ingrese un número: ");
            int num1 = scan.nextInt();
            System.out.print("Ingrese otro número: ");
            int num2 = scan.nextInt();
            System.out.println("----------------------");
            int total = num1 * num2;
            System.out.println("Resultado: " + total);
            System.out.println("-----------------------");
            System.out.println("Monstrando LOG de Multiplicación");
            Archivo archivo = new Archivo(ruta);
            archivo.escribir("* " + num1 + " x " + num2 + " = " + total);
            ArrayList<String> listado = archivo.leer();
            for (int i = 0; i < listado.size(); i++) {
                System.out.println(listado.get(i));
            }
        } catch (Exception ex) {
            Logger.getLogger(Uno.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void dividiendo() {
        try {
            String ruta = "E:\\Dividiendo.txt";
            System.out.println("Dividiendo 2 números");
            System.out.println("------------------------");
            System.out.print("Ingrese un número: ");
            int num1 = scan.nextInt();
            System.out.print("Ingrese otro número: ");
            int num2 = scan.nextInt();
            System.out.println("----------------------");
            int total = num1 / num2;
            System.out.println("División: " + total);
            System.out.println("-----------------------");
            System.out.println("Monstrando LOG de División");
            Archivo archivo = new Archivo(ruta);
            archivo.escribir("* " + num1 + " / " + num2 + " = " + total);
            ArrayList<String> listado = archivo.leer();
            for (int i = 0; i < listado.size(); i++) {
                System.out.println(listado.get(i));
            }
        } catch (Exception ex) {
            Logger.getLogger(Uno.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void restando() {
        try {
            String ruta = "E:\\Restando.txt";
            System.out.println("Restando 2 números");
            System.out.println("------------------------");
            System.out.print("Ingrese un número: ");
            int num1 = scan.nextInt();
            System.out.print("Ingrese otro número: ");
            int num2 = scan.nextInt();
            System.out.println("----------------------");
            int total = num1 - num2;
            System.out.println("Resta: " + total);
            System.out.println("-----------------------");
            System.out.println("Monstrando LOG de Restando");
            Archivo archivo = new Archivo(ruta);
            archivo.escribir("* " + num1 + " - " + num2 + " = " + total);
            ArrayList<String> listado = archivo.leer();
            for (int i = 0; i < listado.size(); i++) {
                System.out.println(listado.get(i));
            }
        } catch (Exception ex) {
            Logger.getLogger(Uno.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    
    public void autoIncrementable() throws Exception {
        String ruta = "E:\\autoIncrement.txt";
        System.out.println("Revisando Ultimo Valor");
        System.out.println("-----------------------");
        Archivo ar = new Archivo(ruta);
        ArrayList<String> lista = ar.leer();
        int valor = 0;
        if (lista.isEmpty()) {
            ar.escribir("1");
            valor = 1;
            System.out.println("Ultimo Valor: NAN (Creando archivo)");
            System.out.println("Valor Nuevo agregado: " + valor);
        } else {
            valor = Integer.parseInt(lista.get(lista.size() - 1));
            System.out.println("Ultimo Valor: " + valor);
            System.out.println("Valor Nuevo agregado: " + (valor + 1));
            ar.escribir("" + (valor + 1));
        }

    }

    public static void main(String[] args) throws Exception {
        Uno un = new Uno();
//        un.holaMundo();
//        un.sumando();
//        un.multiplicando();
//        un.dividiendo();
//        un.restando();
        un.autoIncrementable();
    }

}
